package com.yxw.live_vod_boot.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;


/** 
 * @author liuxin
 * @create 2023-11-20 09:25:24 
 * @description 上传审核点播视频 
 */
@Data
@TableName(value ="yx_upload_video_review")
@ApiModel(value = "上传审核点播视频" , description="yx_upload_video_review")
public class YxUploadVideoReviewEntity  implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(value = "review_video_id",type = IdType.ASSIGN_ID)
    @ApiModelProperty(value="视频ID")
    private Long reviewVideoId;

    @TableField(value="review_video_name")
    @ApiModelProperty(value="视频名称")
    private String reviewVideoName;

    @TableField(value="review_video_size")
    @ApiModelProperty(value="视频大小")
    private BigDecimal reviewVideoSize;

    @TableField(value="review_video_type")
    @ApiModelProperty(value="视频类型 1:视频  2-音频")
    private Integer reviewVideoType;

    @TableField(value="review_video_format")
    @ApiModelProperty(value="视频格式 mp4等")
    private String reviewVideoFormat;

    @TableField(value="class_id")
    @ApiModelProperty(value="视频分类 对应火山引擎分类")
    private Long classId;

    @TableField(value="review_video_url")
    @ApiModelProperty(value="上传路径 本地上传地址")
    private String reviewVideoUrl;

    @TableField(value="cover_source")
    @ApiModelProperty(value="封面来源 1：系统自动截取 2：手动上传")
    private Integer coverSource;

    @TableField(value="cover_url")
    @ApiModelProperty(value="封面地址")
    private String coverUrl;

    @TableField(value="upload_token")
    @ApiModelProperty(value="上传认证")
    private String uploadToken;

    @TableField(value="user_id")
    @ApiModelProperty(value="上传人ID")
    private Long userId;

    @TableField(value="user_name")
    @ApiModelProperty(value="上传人名称")
    private String userName;

    @TableField(value="shop_id")
    @ApiModelProperty(value="店铺ID")
    private Long shopId;

    @TableField(value="shop_name")
    @ApiModelProperty(value="店铺名称")
    private String shopName;

    @TableField(value="examine_status")
    @ApiModelProperty(value="审核状态 1-审核中 2-审核通过 3-审核失败 4-作废")
    private Integer examineStatus;

    @TableField(value="examine_user_id")
    @ApiModelProperty(value="审核人ID")
    private Long examineUserId;

    @TableField(value="examine_user_name")
    @ApiModelProperty(value="审核人名称")
    private String examineUserName;

    @TableField(value="examine_time")
    @ApiModelProperty(value="审核时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date examineTime;

    @TableField(value="create_time")
    @ApiModelProperty(value="创建时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @TableField(value="storage_type")
    @ApiModelProperty(value="存储类型 1:标准存储 2：低频存储 3：归档存储")
    private Integer storageType;

    @TableField(value="examine_describle")
    @ApiModelProperty(value="审核描述")
    private String examineDescrible;


    @TableField(value="publish_status")
    @ApiModelProperty(value="发布状态 0：未发布 1：已发布 2：发布失败")
    private Integer publishStatus;

    @TableField(value="publish_msg")
    @ApiModelProperty(value="发布异常描述 火山引擎上传异常信息")
    private String publishMsg;

    @TableField(value="video_describe")
    @ApiModelProperty(value="视频描述")
    private String videoDescribe;

    @TableField(value="titel")
    @ApiModelProperty(value="标题")
    private String titel;

    @TableField(value="public_flag")
    @ApiModelProperty(value="是否公开0-否 1：是")
    private Integer publicFlag;

    @TableField(value="job_id")
    @ApiModelProperty(value="火山url对应的id")
    private String jobId;

    @TableField(value="cover_key")
    @ApiModelProperty(value = "封面在华为云的唯一标识key")
    private String coverKey;

    @TableField(value="video_key")
    @ApiModelProperty(value = "视频在华为云的唯一标识key")
    private String videoKey;
}
